public class JodaDateTimeFormatAnnotationFormatterFactory extends java.lang.Object implements AnnotationFormatterFactory<DateTimeFormat>, EmbeddedValueResolverAware
DateTimeFormat
annotation.DateTimeFormat
Modifier and Type | Field and Description |
---|---|
private StringValueResolver |
embeddedValueResolver |
private java.util.Set<java.lang.Class<?>> |
fieldTypes |
Constructor and Description |
---|
JodaDateTimeFormatAnnotationFormatterFactory() |
Modifier and Type | Method and Description |
---|---|
private DateTimeFormatter |
configureDateTimeFormatterFrom(DateTimeFormat annotation) |
private java.util.Set<java.lang.Class<?>> |
createFieldTypes()
Create the set of field types that may be annotated with @DateTimeFormat.
|
private DateTimeFormatter |
forIso(DateTimeFormat.ISO iso) |
private DateTimeFormatter |
forPattern(java.lang.String pattern) |
private DateTimeFormatter |
forStyle(java.lang.String style) |
java.util.Set<java.lang.Class<?>> |
getFieldTypes()
The types of fields that may be annotated with the <A> annotation.
|
Parser<DateTime> |
getParser(DateTimeFormat annotation,
java.lang.Class<?> fieldType)
Get the Parser to parse a submitted value for a field of
fieldType annotated with annotation . |
Printer<?> |
getPrinter(DateTimeFormat annotation,
java.lang.Class<?> fieldType)
Get the Printer to print the value of a field of
fieldType annotated with annotation . |
protected java.lang.String |
resolveEmbeddedValue(java.lang.String value) |
void |
setEmbeddedValueResolver(StringValueResolver resolver)
Set the StringValueResolver to use for resolving embedded definition values.
|
private final java.util.Set<java.lang.Class<?>> fieldTypes
private StringValueResolver embeddedValueResolver
public JodaDateTimeFormatAnnotationFormatterFactory()
public final java.util.Set<java.lang.Class<?>> getFieldTypes()
AnnotationFormatterFactory
getFieldTypes
in interface AnnotationFormatterFactory<DateTimeFormat>
public void setEmbeddedValueResolver(StringValueResolver resolver)
EmbeddedValueResolverAware
setEmbeddedValueResolver
in interface EmbeddedValueResolverAware
protected java.lang.String resolveEmbeddedValue(java.lang.String value)
public Printer<?> getPrinter(DateTimeFormat annotation, java.lang.Class<?> fieldType)
AnnotationFormatterFactory
fieldType
annotated with annotation
.
If the type <T> the printer accepts is not assignable to fieldType
, a coersion from fieldType
to <T> will be attempted before the Printer is invoked.getPrinter
in interface AnnotationFormatterFactory<DateTimeFormat>
annotation
- the annotation instancefieldType
- the type of field that was annotatedpublic Parser<DateTime> getParser(DateTimeFormat annotation, java.lang.Class<?> fieldType)
AnnotationFormatterFactory
fieldType
annotated with annotation
.
If the object the parser returns is not assignable to fieldType
, a coersion to fieldType
will be attempted before the field is set.getParser
in interface AnnotationFormatterFactory<DateTimeFormat>
annotation
- the annotation instancefieldType
- the type of field that was annotatedprivate java.util.Set<java.lang.Class<?>> createFieldTypes()
private DateTimeFormatter configureDateTimeFormatterFrom(DateTimeFormat annotation)
private DateTimeFormatter forPattern(java.lang.String pattern)
private DateTimeFormatter forStyle(java.lang.String style)
private DateTimeFormatter forIso(DateTimeFormat.ISO iso)